
/**
 * 函数声明
 */

// kliba.asm
PUBLIC void     out_byte(u16 port, u8 value);
PUBLIC u8       in_byte(u16 port);
PUBLIC void     disp_str(char * info);
PUBLIC void	    disp_color_str(char * info, int color);

// protect.c
PUBLIC void	    init_prot();
PUBLIC void	    init_8259A();
PUBLIC u32      seg2phys(u16 seg);

// klib.c
PUBLIC void delay(int time);

// kernel.asm
void restart();

// i8259.c
PUBLIC void put_irq_handler(int irq, irq_handler handler);
PUBLIC void spurious_irq(int irq);

// main.c
void TestA();
void TestB();
void TestC();

// clock.c
PUBLIC void clock_handler(int irq);

// 系统调用相关
// proc.c
PUBLIC int sys_get_ticks(); // sys_call

// syscall.asm
PUBLIC void sys_call(); // int_handler
PUBLIC int get_ticks();

